dxp-ux
Get BillingAccountByServiceById
billingAccount/service/{id}
[GET]
This operation gets the account details based on service number for resources with operations that allow fetching of Account Details
URL
https://[localhost]:[port]/dxp-ux/v1/{businessId}/billingAccount/service/{id}
URL PARAMS
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. Expected one is "PR"-Puerto Rico | Y |
id | string | customer phone number | Y |
Header
name | type | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. | Y |
client_secret | string | Password associated with the client_id. | Y |
X-Correlation-ID | string | An identifier for the current call chain that can be used to tie together log entries on multiple layers (e.g. client, server, mainframe). This identifier must be designed to be unique across all applications. Note - Mule default behavior creates a sample x-correlation-id field if value is not passed from client, API will use this value in case value is not passed in API request | N It is mandatory for Business |
channelId | string | Expected value 'APP' | Y |
lob | enum | The Line of Business Identifier currently available are: FIXED PREPAID POSTPAID | N |
Response [ 200 ]
LCPR Success Response
This is non-tmf response, which is used to retrieve the migration status from DynamoDB.
OK - request processed successfully, response body contains an entity corresponding to the requested resource.
{
"subscriptionId": "165682573434",
"accountType": "B2C",
"state": "Active",
"recurringFlag": false,
"fraudFlag": false,
"pin": "3472163402",
"migrationStatus": "success",
"salesforceAccountNumber": "169338844735",
"migrationETA": "testing",
"bssSourceSystem": "Anatares"
}
Possible response error
HTTP Status response is 400
with Response
[ 400 ]
Bad Request - the request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
{
"errors": [
{
"code": 400,
"message": "APIKIT:BAD_REQUEST",
"description": "Invalid value 'M' for uri parameter businessId. M is not a valid enum value"
}
]
}
[ 401 ]
Unauthorized - The request has not been applied because it lacks valid authentication credentials for the target resource.
{
"errors" : [{
"code" : 401,
"message" : "The user could not be authenticated for this request.",
"description" : "The request has not been applied because it lacks valid authentication credentials for the target resource"
}]
}
[ 403 ]
Forbidden - Indicates that the server understood the request but refuses to fulfill it. If authentication credentials were provided in the request, the server considers them insufficient to grant access. The client SHOULD NOT automatically repeat the request with the same credentials. The client MAY repeat the request with new or different credentials.
[ 404 ]
Not Found - server has not found a resource with that URI. This may be temporary and permanent condition. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.
{
"errors": [
{
"code": 404,
"message": "DYNAMO_DB :Account details not found for serviceNumber: 7872000007",
"description": "NOACCTSFOUND-No Accounts found"
}
]
}
[ 405 ]
Method Not Allowed - HTTP method not allowed for this resource. The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.
{
"errors": [
{
"code": 405,
"message": "APIKIT:METHOD_NOT_ALLOWED",
"description": "HTTP Method post not allowed for : /{businessId}/billingAccount/service/{id}"
}
]
}
[ 500 ]
Internal Server Error - server encountered an error processing request. This should not happen normally, but it is a generic error message, given when no more specific message is suitable.
{
"errors" : [{
"code" : 500,
"message" : "The request failed due to an internal error.",
"description": "error description"
}]
}
[ 501 ]
Check for the other BU Flows, if not implemented then throw a standard error message as below.
{
"errors": [
{
"code": 501,
"message": "NOT IMPLEMENTED",
"description": "Operation GET /billingAccount/service/id for Business Id: JM not implemented"
}
]
}
[ 503 ]
Service Unavailable
{
"errors": [
{
"code": 503,
"message": "HTTP:SERVICE_UNAVAILABLE",
"description": "HTTP POST on resource 'http://0.0.0.0:9091/nontmf-biz/v1/{businessId}/customerMigrationInfo?serviceNumber' failed: service unavailable (503)."
}
]
}
Definitions
TMF 666
name | type | description | required |
---|---|---|---|
id | string | Unique identifier of the account | N |
href | string | Unique reference of the account | N |
accountType | string | A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values | N |
description | string | Detailed description of the party account | N |
lastModified | datetime | Date of last modification of the account | N |
name | string | Name of the account | N |
paymentStatus | string | The condition of the account, such as due, paid, in arrears | N |
ratingType | string | Indicates whether the account follows a specific payment option such as prepaid or postpaid | N |
state | string | Contains the lifecycle state such as: Active, Closed, Suspended and so on. | N |
accountBalance | object Array | Balances linked to the account | N |
accountBalance.balanceType | string | Type of the balance ; deposit balance, disputed balance, loyalty balance, receivable balance... | N |
accountBalance.amount | object | Balance amount | N |
accountBalance.amount.unit | string | Currency (ISO4217 norm uses 3 letters to define the currency) | N |
accountBalance.amount.value | number, float | A positive floating point number | N |
accountBalance.validFor | object | 'A period of time, either as a deadline (endDateTime only) a startDateTime only, or both | N |
accountBalance.validFor.endDateTime | datetime | End of the time period, using IETC-RFC-3339 format | N |
accountBalance.validFor.startDateTime | datetime | Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end | N |
accountBalance.@baseType | string | When sub-classing, this defines the super-class | N |
accountBalance.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
accountBalance.@type | string | When sub-classing, this defines the sub-class entity name | N |
accountRelationship | object Array | Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account | N |
accountRelationship.relationshipType | string | Type of relationship. | N |
accountRelationship.account | object | .An account may be a party account or a financial account. | N |
accountRelationship.account.id | string | Unique identifier Id of the EntityDescriptionRef. | N |
accountRelationship.account.href | string | Unique reference of the EntityDescriptionRef | N |
accountRelationship.account.description | string | Detailed description of the EntityDescriptionRef | N |
accountRelationship.account.name | string | Name of the account. | N |
accountRelationship.account.@baseType | string | When sub-classing, this defines the super-class | N |
accountRelationship.account.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
accountRelationship.account.@type | string | When sub-classing, this defines the sub-class entity name | N |
accountRelationship.account.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
accountRelationship.validFor | accountBalance.validFor | 'A period of time, either as a deadline (endDateTime only) a startDateTime only, or both | N |
accountRelationship.@baseType | string | When sub-classing, this defines the super-class | N |
accountRelationship.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
accountRelationship.@type | string | When sub-classing, this defines the sub-class entity name | N |
billStructure | object | The structure of the bill for party accounts (billing or settlement). | N |
billStructure.cycleSpecification | object | An attachment by value or by reference. | N |
billStructure.cycleSpecification.id | string | Unique identifier of the billing cycle specification | N |
billStructure.cycleSpecification.href | string | Reference of the billing cycle specification | N |
billStructure.cycleSpecification.billingDateShift | integer | An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period. | N |
billStructure.cycleSpecification.billingPeriod | string | A billing time period. It can be recurring, for example: week, month, quarter of year, year . | N |
billStructure.cycleSpecification.chargeDateOffset | integer | An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod | N |
billStructure.cycleSpecification.creditDateOffset | integer | An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod | N |
billStructure.cycleSpecification.dateShift | integer | An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period. | N |
billStructure.cycleSpecification.description | string | An explanation regarding this billing cycle specification | N |
billStructure.cycleSpecification.frequency | string | Frequency of the billing cycle (monthly for instance) | N |
billStructure.cycleSpecification.mailingDateOffset | integer | An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod. | N |
billStructure.cycleSpecification.name | string | A short descriptive name | N |
billStructure.cycleSpecification.paymentDueDateOffset | integer | An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod. | N |
billStructure.cycleSpecification.@baseType | string | When sub-classing, this defines the super-class | N |
billStructure.cycleSpecification.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
billStructure.cycleSpecification.@type | string | When sub-classing, this defines the sub-class entity name | N |
billStructure.cycleSpecification.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
billStructure.format | accountRelationship.account | An attachment by value or by reference. | N |
billStructure.presentationMedia | accountRelationship.account | A list of bill presentation media ref or values | |
billStructure.@baseType | string | When sub-classing, this defines the super-class | N |
billStructure.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
billStructure.@type | string | When sub-classing, this defines the sub-class entity name | N |
contact | object Array | An individual or an organization used as a contact point for a given account and accessed via some contact medium. | N |
contact.contactName | string | A displayable name for that contact | N |
contact.contactType | string | Type of contact (primary, secondary...) | N |
contact.partyRoleType | string | Identifies what kind of party role type is linked to the contact (a account manager...) | N |
contact.contactMedium | object Array | Indicates the contact medium that could be used to contact the party. | N |
contact.contactMedium.mediumType | string | Type of the contact medium, such as: email address, telephone number, postal address | N |
contact.contactMedium.preferred | boolean | If true, indicates that is the preferred contact medium | N |
contact.contactMedium.characteristic | object | Any additional characteristic(s) of this contact medium | N |
contact.contactMedium.characteristic.city | string | City | N |
contact.contactMedium.characteristic.contactType | string | The type of contact, for example; phone number such as mobile, fixed home, fixed office. postal address such as shipping installation | N |
contact.contactMedium.characteristic.country | string | N | |
contact.contactMedium.characteristic.emailAddress | string | Full email address in standard format | N |
contact.contactMedium.characteristic.faxNumber | string | The fax number of the contact | N |
contact.contactMedium.characteristic.phoneNumber | string | The primary phone number of the contact | N |
contact.contactMedium.characteristic.postCode | string | Postcode | N |
contact.contactMedium.characteristic.socialNetworkId | string | Identifier as a member of a social network | N |
contact.contactMedium.characteristic.stateOrProvince | string | State or province | N |
contact.contactMedium.characteristic.street1 | string | Describes the street | N |
contact.contactMedium.characteristic.street2 | string | Complementary street description | N |
contact.contactMedium.characteristic..@baseType | string | When sub-classing, this defines the super-class | N |
contact.contactMedium.characteristic..@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
contact.contactMedium.characteristic..@type | string | When sub-classing, this defines the sub-class entity name | N |
contact.contactMedium.characteristic.geoCode | string | GeoCode | N |
contact.contactMedium.validFor | accountRelationship.validFor | N | |
contact.contactMedium.@baseType | string | When sub-classing, this defines the super-class | N |
contact.contactMedium.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
contact.contactMedium.@type | string | When sub-classing, this defines the sub-class entity name | N |
contact.relatedParty | relatedParty | N | |
contact.validFor | accountRelationship.validFor | N | |
contact.@baseType | string | When sub-classing, this defines the super-class | N |
contact.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
contact.@type | string | When sub-classing, this defines the sub-class entity name | N |
creditLimit | object | The maximum amount of money that may be charged on an account | N |
defaultPaymentMethod | object | N | |
defaultPaymentMethod.id | string | Unique identifier Id of the EntityRef. | N |
defaultPaymentMethod.href | string | Unique reference of the EntityRef | N |
defaultPaymentMethod.name | string | Name of the EntityRef. | N |
defaultPaymentMethod.@baseType | string | When sub-classing, this defines the super-class | N |
defaultPaymentMethod@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
defaultPaymentMethod.@type | string | When sub-classing, this defines the sub-class entity name | N |
defaultPaymentMethod.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
financialAccount | object | AccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. | N |
financialAccount.id | string | Unique identifier Id of the EntityRef. | N |
financialAccount.href | string | Unique reference of the EntityRef | N |
financialAccount.name | string | Name of the EntityRef. | N |
financialAccount.accountBalance | accountBalance | n | |
financialAccount.@baseType | string | When sub-classing, this defines the super-class | N |
financialAccount@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
financialAccount.@type | string | When sub-classing, this defines the sub-class entity name | N |
financialAccount.@referredType | string | The actual type of the target instance when needed for disambiguation | N |
paymentPlan | object Array | Defines a plan for payment (when a party wants to spread his payments) | N |
paymentPlan.numberOfPayments | integer | Number of payments used to spread the global payment | N |
paymentPlan.paymentFrequency | string | Frequency of the payments, such as monthly and bimonthly | N |
paymentPlan.planType | string | Type of payment plan | N |
paymentPlan.priority | integer | Priority of the payment plan | N |
paymentPlan.status | string | Status of the payment plan (effective, ineffective) | N |
paymentPlan.paymentMethod | defaultPaymentMethod | ||
paymentPlan.totalAmount | accountBalance.amount | Amount paid | |
paymentPlan.validFor | accountRelationship.validFor | ||
paymentPlan.@baseType | string | When sub-classing, this defines the super-class | N |
paymentPlan.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
paymentPlan.@type | string | When sub-classing, this defines the sub-class entity name | N |
characteristic | object Array | Describes a given characteristic of an object or entity through a name/value pair. | N |
characteristic.name | string | Name of the characteristic | N |
characteristic.valueType | string | Data type of the value of the characteristic | N |
characteristic.value | any | The value of the characteristic | N |
characteristic.@baseType | string | When sub-classing, this defines the super-class | N |
characteristic.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
characteristic.@type | string | When sub-classing, this defines the sub-class entity name | N |
relatedParty | object Array | N | |
relatedParty.id | string | Unique identifier Id of the EntityRef. | N |
relatedParty.href | string | Unique reference of the EntityRef | N |
relatedParty.name | string | Name of the EntityRef. | N |
relatedParty.role | role played by the related party | ||
relatedParty.@baseType | string | When sub-classing, this defines the super-class | N |
relatedParty@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
relatedParty.@type | string | When sub-classing, this defines the sub-class entity name | N |
relatedParty.@referredType | string | The actual type of the target instance when needed for disambiguation | |
taxExemption | object Array | Proof of freedom from taxes imposed by a taxing jurisdiction. | N |
taxExemption.certificateNumber | string | Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction. | N |
taxExemption.issuingJurisdiction | string | Name of the taxing jurisdiction for which taxes are exempt. | N |
taxExemption.reason | string | Reason of the tax exemption | N |
taxExemption.validFor | accountRelationship.validFor | N | |
taxExemption.@baseType | string | When sub-classing, this defines the super-class | N |
taxExemption.@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
taxExemption.@type | string | When sub-classing, this defines the sub-class entity name | N |
@baseType | string | When sub-classing, this defines the super-class | N |
@schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | N |
@type | string | When sub-classing, this defines the sub-class entity name | N |
fraudFlag | boolean | fraud flag which indicates the flag | N |
recurringFlag | boolean | recurringFlag which indicates the caller frequency | N |
pin | string | pin of the device | N |
migrationStatus | string | indicates the migration status of the customer | N |
salesforceAccountNumber | string | associated salesforce account numbe | N |
migrationETA | string | ETA of the migration | N |
bssSourceSystem | string | If(migrationStatus == "In Progress" or "Failed" or "Success") "Anatares" else if("Not Started") ATT else "" | N |
subscriptionId | string | Unique identifier of the account | N |
money.unit | string | Unit of money | N |
Administration and data management
In this section you define all the transformations, temporary and final repositories of the data within the method flow.
Transformation Request
nontmf-biz
URL
http://0.0.0.0:9091/nontmf-api/v1/{businessId}/customerMigrationInfo?serviceNumber=XXXXXX
Headers
name | value | description | required |
---|---|---|---|
X-Correlation-ID | string | This is a unique identifier for the current call chain that can be used to tie together log entries on multiple layers. Example: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2b | O |
lob | String | PREPAID | O |
client_id | string | Client Id value for Client Id Enforcement policy. Environment Specific Value. Eg:6f0ed16a7b494d76b2d60e05bc3b3332 | M |
client_secret | string | Client secret value for Client Id Enforcement policy. Environment Specific Value Eg: e4CD4D43449846aA9D8Cb9c43fAd324a | M |
channelId | string | Channel to identify the business group. Eg:APP | O |
QueryParameters
Original Parameter | Mulesoft | transformation |
---|---|---|
serviceNumber | attributes.uriParams.id |
Services dependencies
This section defines all the connections to the web services and the methods that are used within the method.
nontmf-biz
Method | Type |
---|---|
/customerMigrationInfo | GET |